package cn.wolfcode.crm.query;

import cn.wolfcode.crm.util.DateUtil;
import com.alibaba.druid.util.StringUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @program: crm
 * @description:
 * @author: Mr.chen
 * @create: 2018-07-07 23:17
 **/
@Setter
@Getter
public class ClientQueryObject extends QueryObject {
    //用于显示资源池客户和待签单客户视图条件
    private int state1=-1;
    //用于显示潜在客户管理数据回显条件
    private int state2=-1;

    public int getState1(){
        if (state1==1){
            state2=2;
            return -1;
        }
        return state1;
    }

    //根据创建时间排序    把最新创建的放前面
    //排序的列
    private String sort;

    //排序的方式
    private String order;



    //关键字查询    根据名字,邮箱,电话
    private String keyword;

    //从什么开始时间开始
    //传出转成json格式
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT-8")
    //数据传入使用日期类型
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;

    //从什么时间结束  (注意设置当天的最后一秒)
    //传出转成json格式
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT-8")
    //数据传入使用日期类型
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    //负责人
    private String leadingSreach;


    //判断负责人名字不能为空
    public String getLeadingSreach(){
        return StringUtils.isEmpty(leadingSreach)?null:leadingSreach;
    }

    //设置时间为当天最后一秒
    public Date getEndDate(){
        if (endDate!=null) {
            return DateUtil.getEndDate(endDate);
        }
        return null;
    }

    //判断关键字是否为空或null
    public String getKeyword() {

        return StringUtils.isEmpty(keyword) ? null : keyword;
    }

    //判断排序列是否为空或null
    public String getSort() {
        return StringUtils.isEmpty(sort) ? null : sort;
    }

    //排序的方式不能为null,没值只能为空
    public String getOrder() {
        return StringUtils.isEmpty(order) ? "" : order;
    }

}
